﻿using System.Windows;
using Bricks.Injecting;
using Bricks.Logging;
using Microsoft.Practices.Prism;
using Microsoft.Practices.Unity;

namespace Motar.Desktop.UnityExtensions
{
    
    /// <summary>
    /// 
    /// </summary>
    public class UnityDesktopInitializer<TShell> : DesktopInitializer<TShell> where TShell : Window
    {

        /// <summary>
        /// 
        /// </summary>
        /// <param name="containerFacade"></param>
        /// <param name="loggerFacade"></param>
        public UnityDesktopInitializer(IContainerFacade containerFacade, ILoggerFacade loggerFacade) :
            base(containerFacade, loggerFacade)
        {
        }

        /// <summary>
        /// 
        /// </summary>
        protected override void RegisterFrameworkExceptionTypes()
        {
            base.RegisterFrameworkExceptionTypes();

            ExceptionExtensions.RegisterFrameworkExceptionType(typeof(ResolutionFailedException));
        }
    }
}
